package com.songlanyun.modules.message.model.to;

import com.songlanyun.common.enums.OpusConstant;
import com.songlanyun.common.enums.PrivateMessageConstant;
import com.songlanyun.common.enums.SysConstant;
import lombok.Data;

@Data
public class MessageTO {

    public MessageTO() {
    }

    public MessageTO(PrivateMessageConstant.MessageType type, PrivateMessageConstant.ModelType modelType,
                     Long modelId) {
        this.type = type;
        this.modelType = modelType;
        this.modelId = modelId;
    }

    public MessageTO(PrivateMessageConstant.MessageType type, PrivateMessageConstant.ModelType modelType,
                     Long modelId, Long userId) {
        this.type = type;
        this.modelType = modelType;
        this.modelId = modelId;
        this.userId = userId;
    }

    public MessageTO(PrivateMessageConstant.MessageType type, PrivateMessageConstant.ModelType modelType,
                     Long modelId, OpusConstant.BbsType bbsType, Long userId) {
        this.type = type;
        this.modelType = modelType;
        this.modelId = modelId;
        this.bbsType = bbsType;
        this.userId = userId;
    }

    public MessageTO(PrivateMessageConstant.MessageType type, PrivateMessageConstant.ModelType modelType,
                     Long modelId, SysConstant.InteractionType interactionType, Long userId) {
        this.type = type;
        this.modelType = modelType;
        this.modelId = modelId;
        this.interactionType = interactionType;
        this.userId = userId;
    }


    /**
     * 消息类型
     */
    private PrivateMessageConstant.MessageType type;
    /**
     * 操作类型
     */
    private PrivateMessageConstant.ModelType modelType;
    /**
     * 模型ID
     */
    private Long modelId;

    private OpusConstant.BbsType bbsType;
    private Long userId;

    /**
     * 互动消息类型
     */
    private SysConstant.InteractionType interactionType;


}
